package com.six.dao;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.six.vo.Permission;

/**
 * IPermissionDao 权限数据库 CRUD 操作
 * 
 */
//@Transactional(propagation=Propagation.REQUIRED)
public interface IPermissionDao {
	/**
	 * 保存权限
	 * 
	 */
	public void savePermission(Permission p);
	/**
	 * 更新权限信息
	 * 
	 */
	public void updatePermission(Permission p);
	/**
	 * 删除权限，将权限状态置为【删除】状态
	 * 
	 */
	public void deletePermission(int pid)throws Exception;
	/**
	 * 根据权限 id 查询权限
	 * 
	 */
	@Transactional(readOnly=true)
	public Permission findPermissionById(int pid);
	/**
	 * 恢复权限，将权限状态置为【活动】状态
	 * 
	 */
	public void revertPermission(int pid)throws Exception;
	/**
	 * 根据指定的条件查询权限列表
	 * 
	 */
	@Transactional(readOnly=true)
	public List<Permission> findPermissionList(int perId,String perName);
	/**
	 * 为用户组赋权限
	 * 
	 */
	@Transactional(readOnly=true)
	public List<Permission> findPermissionForGroup();
	/**
	 * 查询用户所有权限
	 * 
	 */
	@Transactional(readOnly=true)
	public List<Permission> findPermissionFromUserid(int userid);

}
